package servlets;

import java.io.IOException;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import session.SessionVariables;
import facade.BD;

/**
 * Servlet implementation class FiltrarArticulos
 */
@WebServlet("/FiltrarArticulos")
public class FiltrarArticulos extends HttpServlet {
	private static final long serialVersionUID = 1L;
       
    /**
     * @see HttpServlet#HttpServlet()
     */
    public FiltrarArticulos() {
        super();
        // TODO Auto-generated constructor stub
    }

	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		
		BD bd = BD.getInstance();
		
		String nombre = request.getParameter("nombre");
		String descripcion = request.getParameter("descripcion");
		String codigo = request.getParameter("codigo");
		String origen = request.getParameter("origen");
		String marca = request.getParameter("marca");
		String categoria = request.getParameter("categoria");
		
		int codigo_int = -1;
		
		try{
			codigo_int = Integer.parseInt(codigo);
		}catch(Exception e){
			codigo_int = -1;
		}
		
		if(categoria.equals("")){
			SessionVariables.getInstance().setArticulosBusqueda(bd.buscarArticulo(codigo_int, nombre, descripcion, marca, origen));
		}else{
			if(categoria.equals("electrodomesticos")){
				SessionVariables.getInstance().setArticulosBusqueda(bd.buscarElectrodomestico(codigo_int, nombre, descripcion, marca, origen));
			}else{
				if(categoria.equals("infantil")){
					SessionVariables.getInstance().setArticulosBusqueda(bd.buscarInfantil(codigo_int, nombre, descripcion, marca, origen));
				}else{
					if(categoria.equals("moda")){
						SessionVariables.getInstance().setArticulosBusqueda(bd.buscarModa(codigo_int, nombre, descripcion, marca, origen));
					}else{
						if(categoria.equals("mueble")){
							SessionVariables.getInstance().setArticulosBusqueda(bd.buscarMueble(codigo_int, nombre, descripcion, marca, origen));
						}
					}
				}
			}
		}
		
		String jspPage = "/BusquedaArticulos.jsp";
		
		dispatch(jspPage, request, response);
	}

	protected void dispatch(String jsp, HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		if (jsp != null)
		{
		    RequestDispatcher rd = request.getRequestDispatcher(jsp);
		    rd.forward(request, response);
		}
	}

	/**
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
	}

}
